#ifndef HANDTRACKER_H
#define HANDTRACKER_H

#include <idetector.h>
#include "facetracker.h"
#include "opencv2/core/core.hpp"
#include "opencv2/video/background_segm.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/legacy/legacy.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include <stdio.h>

class HandTracker: public IDetector
{
public:
    HandTracker();
    ~HandTracker();
    void detect ( cv::Mat frame );

private:
    void detect(IplImage *ImaskCodeBookCC, cv::Mat rawImage);

    IplImage* yuvImage; //yuvImage is for codebook method
    IplImage *ImaskCodeBook,*ImaskCodeBookCC;

    static const int nframesToLearnBG = 60;
    int nframes;
    CvBGCodeBookModel* model;
    static const int NCHANNELS = 3;
};



#endif // HANDTRACKER_H
